go package
以下のblogがシンプルな説明で理解できたと思う。
名前空間を分けるための仕組み
他のパッケージのメンバにアクセスするには、import文を使用します
名前の頭文字が英字大文字で始まるものはimport文を使用することで.... このようなメンバをパブリックメンバと呼びます。
import文は指定されたディレクトリ直下のコードのパッケージ名を読み込む
これは、サブディレクトリのパッケージ名をどうするのか?みたいな問題にはなるのか。
パッケージ名がmainのパッケージは扱いが特殊で、main関数を定義することでエントリポイント
1つのフォルダ直下に、互いに異なるパッケージが宣言された複数のコードを置くことはできません。